home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer 6.2 / 2000-12_-_Disc_6.2.iso / Patches / age2upa.exe / CABFILE / FILESUSA.CAB / Data / gamedata.drs / Unnamed File 000023.bina < prev    next >
Text File  |  1999-11-11  |  46KB  |  2,445 lines

  1. ;goals 1 and 2 = boats
  2. ;goal 3 = groups
  3. ;goal combat-arm = his unique unit type (also loads correct upgrades)
  4. ;goal 36 = good infantry -- 36 NO = don't build, YES = build, 
  5. ;    2 = only build if we don't have a castle. 
  6. ;goal 37 = good cavalry
  7. ;goal 38 = good horse-archers
  8. ;goal 39 = good archers
  9.  
  10. ;starting loads
  11. ;*********************************************************
  12. ;*********************************************************
  13. #load-if-defined BRITON-CIV
  14. ;train longbows, champs, lt cav
  15. (defrule
  16.     (goal combat-arm NOTICE)
  17. =>
  18.     (set-goal combat-arm ARCHER)
  19.     (set-goal 36 YES)
  20.     (set-goal 37 NO)
  21.     (set-goal 38 YES)
  22.     (set-goal 39 2)
  23.  
  24.     (set-strategic-number sn-wood-gatherer-percentage 35)
  25.     (set-strategic-number sn-food-gatherer-percentage 25)
  26.     (set-strategic-number sn-gold-gatherer-percentage 35)
  27.     (set-strategic-number sn-stone-gatherer-percentage 5)
  28.     (disable-self)
  29. )
  30.  
  31. (defrule
  32.     (goal secondary-build 1)
  33. =>
  34.     (generate-random-number 2)
  35. )
  36.  
  37. (defrule
  38.     (goal secondary-build 1)
  39.     (random-number == 1)
  40.     (can-train champion)
  41.     (or
  42.         (population < deathmatch-unit-max)
  43.         (and
  44.             (population < unit-max)
  45.             (goal need-deathmatch-villagers NO)
  46.         )
  47.     )
  48. =>
  49.     (train champion)
  50.     (set-goal secondary-build 0)
  51. )
  52.  
  53. (defrule
  54.     (goal secondary-build 1)
  55.     (random-number == 2)
  56.     (can-train light-cavalry)
  57.     (or
  58.         (goal combat-arm 1)
  59.         (goal combat-arm 5)
  60.     )
  61.     (or
  62.         (population < deathmatch-unit-max)
  63.         (and
  64.             (population < unit-max)
  65.             (goal need-deathmatch-villagers NO)
  66.         )
  67.     )
  68. =>
  69.     (train light-cavalry)
  70. )
  71. #end-if
  72. ;*********************************************************
  73. #load-if-defined BYZANTINE-CIV
  74. ;train cataphracts, hvy HA, arbalests, handgunners
  75. (defrule
  76.     (true)
  77. =>
  78.     (set-goal combat-arm CAVALRY)
  79.     (set-goal 36 YES)
  80.     (set-goal 37 2)
  81.     (set-goal 38 YES)
  82.     (set-goal 39 YES)
  83.  
  84.     (set-strategic-number sn-wood-gatherer-percentage 20)
  85.     (set-strategic-number sn-food-gatherer-percentage 35)
  86.     (set-strategic-number sn-gold-gatherer-percentage 35)
  87.     (set-strategic-number sn-stone-gatherer-percentage 10)
  88.     (disable-self)
  89. )
  90.  
  91. (defrule
  92.     (goal secondary-build 1)
  93. =>
  94.     (generate-random-number 2)
  95. )
  96.  
  97. (defrule
  98.     (goal secondary-build 1)
  99.     (random-number == 1)
  100.     (can-train heavy-cavalry-archer)
  101.     (or
  102.         (population < deathmatch-unit-max)
  103.         (and
  104.             (population < unit-max)
  105.             (goal need-deathmatch-villagers NO)
  106.         )
  107.     )
  108. =>
  109.     (train heavy-cavalry-archer)
  110.     (set-goal secondary-build 0)
  111. )
  112.  
  113. (defrule
  114.     (goal secondary-build 1)
  115.     (random-number == 2)
  116.     (or
  117.         (can-train hand-cannoneer)
  118.         (can-train arbalest)
  119.     )
  120.     (or
  121.         (population < deathmatch-unit-max)
  122.         (and
  123.             (population < unit-max)
  124.             (goal need-deathmatch-villagers NO)
  125.         )
  126.     )
  127. =>
  128.     (train hand-cannoneer)
  129.     (train arbalest)
  130.     (set-goal secondary-build 0)
  131. )
  132. #end-if
  133. ;************************************************
  134. #load-if-defined CELTIC-CIV
  135. ;train woad raiders, paladins, lt cav, hvy HA, hvy scorps
  136. (defrule
  137.     (true)
  138. =>
  139.     (set-goal combat-arm INFANTRY)
  140.     (set-goal 36 2)
  141.     (set-goal 37 YES)
  142.     (set-goal 38 YES)
  143.     (set-goal 39 NO)
  144.  
  145.     (set-strategic-number sn-wood-gatherer-percentage 20)
  146.     (set-strategic-number sn-food-gatherer-percentage 50)
  147.     (set-strategic-number sn-gold-gatherer-percentage 25)
  148.     (set-strategic-number sn-stone-gatherer-percentage 5)
  149.     (disable-self)
  150. )
  151.  
  152. (defrule
  153.     (goal secondary-build 1)
  154. =>
  155.     (generate-random-number 4)
  156. )
  157.  
  158. (defrule
  159.     (goal secondary-build 1)
  160.     (random-number == 1)
  161.     (can-train paladin)
  162.     (or
  163.         (population < deathmatch-unit-max)
  164.         (and
  165.             (population < unit-max)
  166.             (goal need-deathmatch-villagers NO)
  167.         )
  168.     )
  169. =>
  170.     (train paladin)
  171.     (set-goal secondary-build 0)
  172. )
  173.  
  174. (defrule
  175.     (goal secondary-build 1)
  176.     (random-number == 2)
  177.     (can-train light-cavalry)
  178.     (or
  179.         (population < deathmatch-unit-max)
  180.         (and
  181.             (population < unit-max)
  182.             (goal need-deathmatch-villagers NO)
  183.         )
  184.     )
  185.     (or
  186.         (current-age < imperial-age)
  187.         (not (can-afford-unit paladin) )
  188.     )
  189. =>
  190.     (train light-cavalry)
  191.     (set-goal secondary-build 0)
  192. )
  193.  
  194. (defrule
  195.     (goal secondary-build 1)
  196.     (random-number == 3)
  197.     (can-train heavy-cavalry-archer)
  198.     (or
  199.         (population < deathmatch-unit-max)
  200.         (and
  201.             (population < unit-max)
  202.             (goal need-deathmatch-villagers NO)
  203.         )
  204.     )
  205. =>
  206.     (train heavy-cavalry-archer)
  207.     (set-goal secondary-build 0)
  208. )
  209.  
  210. (defrule
  211.     (goal secondary-build 1)
  212.     (random-number == 4)
  213.     (can-train heavy-scorpion)
  214.     (or
  215.         (population < deathmatch-unit-max)
  216.         (and
  217.             (population < unit-max)
  218.             (goal need-deathmatch-villagers NO)
  219.         )
  220.     )
  221. =>
  222.     (train heavy-scorpion)
  223.     (set-goal secondary-build 0)
  224. )
  225.  
  226. #end-if
  227. ;********************************
  228. #load-if-defined CHINESE-CIV
  229. ;train chu-ko-nu, champs, light cav, hvy scorps; 
  230. (defrule
  231.     (true)
  232. =>
  233.     (set-goal combat-arm ARCHER)
  234.     (set-goal 36 YES)
  235.     (set-goal 37 NO)
  236.     (set-goal 38 YES)
  237.     (set-goal 39 2)
  238.  
  239.     (set-strategic-number sn-wood-gatherer-percentage 35)
  240.     (set-strategic-number sn-food-gatherer-percentage 25)
  241.     (set-strategic-number sn-gold-gatherer-percentage 35)
  242.     (set-strategic-number sn-stone-gatherer-percentage 5)
  243.     (disable-self)
  244. )
  245.  
  246. (defrule
  247.     (goal secondary-build 1)
  248. =>
  249.     (generate-random-number 3)
  250. )
  251.  
  252. (defrule
  253.     (goal secondary-build 1)
  254.     (random-number == 1)
  255.     (can-train champion)
  256.     (or
  257.         (population < deathmatch-unit-max)
  258.         (and
  259.             (population < unit-max)
  260.             (goal need-deathmatch-villagers NO)
  261.         )
  262.     )
  263. =>
  264.     (train champion)
  265.     (set-goal secondary-build 0)
  266. )
  267.  
  268. (defrule
  269.     (goal secondary-build 1)
  270.     (random-number == 3)
  271.     (can-train light-cavalry)
  272.     (or
  273.         (population < deathmatch-unit-max)
  274.         (and
  275.             (population < unit-max)
  276.             (goal need-deathmatch-villagers NO)
  277.         )
  278.     )
  279. =>
  280.     (train light-cavalry)
  281.     (set-goal secondary-build 0)
  282. )
  283.  
  284. (defrule
  285.     (goal secondary-build 1)
  286.     (random-number == 3)
  287.     (can-train heavy-scorpion)
  288.     (or
  289.         (population < deathmatch-unit-max)
  290.         (and
  291.             (population < unit-max)
  292.             (goal need-deathmatch-villagers NO)
  293.         )
  294.     )
  295. =>
  296.     (train heavy-scorpion)
  297.     (set-goal secondary-build 0)
  298. )
  299. #end-if
  300. ;*******************************
  301. #load-if-defined FRANKISH-CIV
  302. ;train throwing-axe, paladins, lt cav, hvy HA, hvy scorps
  303. (defrule
  304.     (true)
  305. =>
  306.     (set-goal combat-arm INFANTRY)
  307.     (set-goal 36 2)
  308.     (set-goal 37 YES)
  309.     (set-goal 38 YES)
  310.     (set-goal 39 NO)
  311.  
  312.     (set-strategic-number sn-wood-gatherer-percentage 20)
  313.     (set-strategic-number sn-food-gatherer-percentage 50)
  314.     (set-strategic-number sn-gold-gatherer-percentage 25)
  315.     (set-strategic-number sn-stone-gatherer-percentage 5)
  316.     (disable-self)
  317. )
  318.  
  319. (defrule
  320.     (goal secondary-build 1)
  321. =>
  322.     (generate-random-number 4)
  323. )
  324.  
  325. (defrule
  326.     (goal secondary-build 1)
  327.     (random-number == 1)
  328.     (can-train paladin)
  329.     (or
  330.         (population < deathmatch-unit-max)
  331.         (and
  332.             (population < unit-max)
  333.             (goal need-deathmatch-villagers NO)
  334.         )
  335.     )
  336. =>
  337.     (train paladin)
  338.     (set-goal secondary-build 0)
  339. )
  340.  
  341. (defrule
  342.     (goal secondary-build 1)
  343.     (random-number == 2)
  344.     (can-train light-cavalry)
  345.     (or
  346.         (population < deathmatch-unit-max)
  347.         (and
  348.             (population < unit-max)
  349.             (goal need-deathmatch-villagers NO)
  350.         )
  351.     )
  352.     (or
  353.         (current-age < imperial-age)
  354.         (not (can-afford-unit paladin) )
  355.     )
  356. =>
  357.     (train light-cavalry)
  358.     (set-goal secondary-build 0)
  359. )
  360.  
  361. (defrule
  362.     (goal secondary-build 1)
  363.     (random-number == 3)
  364.     (can-train heavy-cavalry-archer)
  365.     (or
  366.         (population < deathmatch-unit-max)
  367.         (and
  368.             (population < unit-max)
  369.             (goal need-deathmatch-villagers NO)
  370.         )
  371.     )
  372. =>
  373.     (train heavy-cavalry-archer)
  374.     (set-goal secondary-build 0)
  375. )
  376.  
  377. (defrule
  378.     (goal secondary-build 1)
  379.     (random-number == 4)
  380.     (can-train heavy-scorpion)
  381.     (or
  382.         (population < deathmatch-unit-max)
  383.         (and
  384.             (population < unit-max)
  385.             (goal need-deathmatch-villagers NO)
  386.         )
  387.     )
  388. =>
  389.     (train heavy-scorpion)
  390.     (set-goal secondary-build 0)
  391. )
  392. #end-if
  393. ;****************************
  394. #load-if-defined GOTHIC-CIV
  395. ;train huskarls, lt cav, hvy HA, hvy scorps
  396. (defrule
  397.     (true)
  398. =>
  399.     (set-goal combat-arm INFANTRY)
  400.     (set-goal 36 2)
  401.     (set-goal 37 NO)
  402.     (set-goal 38 YES)
  403.     (set-goal 39 NO)
  404.  
  405.     (set-strategic-number sn-wood-gatherer-percentage 20)
  406.     (set-strategic-number sn-food-gatherer-percentage 50)
  407.     (set-strategic-number sn-gold-gatherer-percentage 25)
  408.     (set-strategic-number sn-stone-gatherer-percentage 5)
  409.     (disable-self)
  410. )
  411.  
  412. (defrule
  413.     (goal secondary-build 1)
  414. =>
  415.     (generate-random-number 3)
  416. )
  417.  
  418. (defrule
  419.     (goal secondary-build 1)
  420.     (random-number == 1)
  421.     (can-train light-cavalry)
  422.     (or
  423.         (population < deathmatch-unit-max)
  424.         (and
  425.             (population < unit-max)
  426.             (goal need-deathmatch-villagers NO)
  427.         )
  428.     )
  429. =>
  430.     (train light-cavalry)
  431.     (set-goal secondary-build 0)
  432. )
  433.  
  434. (defrule
  435.     (goal secondary-build 1)
  436.     (random-number == 2)
  437.     (can-train heavy-cavalry-archer)
  438.     (or
  439.         (population < deathmatch-unit-max)
  440.         (and
  441.             (population < unit-max)
  442.             (goal need-deathmatch-villagers NO)
  443.         )
  444.     )
  445. =>
  446.     (train heavy-cavalry-archer)
  447.     (set-goal secondary-build 0)
  448. )
  449.  
  450. (defrule
  451.     (goal secondary-build 1)
  452.     (random-number == 3)
  453.     (can-train heavy-scorpion)
  454.     (or
  455.         (population < deathmatch-unit-max)
  456.         (and
  457.             (population < unit-max)
  458.             (goal need-deathmatch-villagers NO)
  459.         )
  460.     )
  461. =>
  462.     (train heavy-scorpion)
  463.     (set-goal secondary-build 0)
  464. )
  465. #end-if
  466. ;********************************
  467. #load-if-defined JAPANESE-CIV
  468. ;train samurai, hvy HA, arbalests, hand-cannoneer, hvy scorps
  469. (defrule
  470.     (true)
  471. =>
  472.     (set-goal combat-arm INFANTRY)
  473.     (set-goal 36 2)
  474.     (set-goal 37 NO)
  475.     (set-goal 38 YES)
  476.     (set-goal 39 YES)
  477.  
  478.     (set-strategic-number sn-wood-gatherer-percentage 20)
  479.     (set-strategic-number sn-food-gatherer-percentage 50)
  480.     (set-strategic-number sn-gold-gatherer-percentage 25)
  481.     (set-strategic-number sn-stone-gatherer-percentage 5)
  482.     (disable-self)
  483. )
  484.  
  485. (defrule
  486.     (goal secondary-build 1)
  487. =>
  488.     (generate-random-number 3)
  489. )
  490.  
  491. (defrule
  492.     (goal secondary-build 1)
  493.     (random-number == 1)
  494.     (can-train heavy-cavalry-archer)
  495.     (or
  496.         (population < deathmatch-unit-max)
  497.         (and
  498.             (population < unit-max)
  499.             (goal need-deathmatch-villagers NO)
  500.         )
  501.     )
  502. =>
  503.     (train heavy-cavalry-archer)
  504.     (set-goal secondary-build 0)
  505. )
  506.  
  507. (defrule
  508.     (goal secondary-build 1)
  509.     (random-number == 2)
  510.     (or
  511.         (can-train hand-cannoneer)
  512.         (can-train arbalest)
  513.     )
  514.     (or
  515.         (population < deathmatch-unit-max)
  516.         (and
  517.             (population < unit-max)
  518.             (goal need-deathmatch-villagers NO)
  519.         )
  520.     )
  521. =>
  522.     (train hand-cannoneer)
  523.     (train arbalest)
  524.     (set-goal secondary-build 0)
  525. )
  526.  
  527. (defrule
  528.     (goal secondary-build 1)
  529.     (random-number == 3)
  530.     (can-train heavy-scorpion)
  531.     (or
  532.         (population < deathmatch-unit-max)
  533.         (and
  534.             (population < unit-max)
  535.             (goal need-deathmatch-villagers NO)
  536.         )
  537.     )
  538. =>
  539.     (train heavy-scorpion)
  540.     (set-goal secondary-build 0)
  541. )
  542. #end-if
  543. ;*********************************
  544. #load-if-defined MONGOL-CIV
  545. ;trains mangudai, champs
  546. (defrule
  547.     (true)
  548. =>
  549.     (set-goal combat-arm CAVARCHER)
  550.     (set-goal 36 YES)
  551.     (set-goal 37 NO)
  552.     (set-goal 38 2)
  553.     (set-goal 39 YES)
  554.  
  555.     (set-strategic-number sn-wood-gatherer-percentage 35)
  556.     (set-strategic-number sn-food-gatherer-percentage 25)
  557.     (set-strategic-number sn-gold-gatherer-percentage 35)
  558.     (set-strategic-number sn-stone-gatherer-percentage 5)
  559.     (disable-self)
  560. )
  561.  
  562. (defrule
  563.     (goal secondary-build 1)
  564.     (can-train champion)
  565.     (or
  566.         (population < deathmatch-unit-max)
  567.         (and
  568.             (population < unit-max)
  569.             (goal need-deathmatch-villagers NO)
  570.         )
  571.     )
  572. =>
  573.     (train champion)
  574.     (set-goal secondary-build 0)
  575. )
  576. #end-if
  577. ;***********************************
  578. #load-if-defined PERSIAN-CIV
  579. ;trains elephants, hvy HA
  580. (defrule
  581.     (true)
  582. =>
  583.     (set-goal combat-arm CAVALRY)
  584.     (set-goal 36 NO)
  585.     (set-goal 37 YES)
  586.     (set-goal 38 YES)
  587.     (set-goal 39 NO)
  588.  
  589.     (set-strategic-number sn-wood-gatherer-percentage 20)
  590.     (set-strategic-number sn-food-gatherer-percentage 50)
  591.     (set-strategic-number sn-gold-gatherer-percentage 25)
  592.     (set-strategic-number sn-stone-gatherer-percentage 5)
  593.     (disable-self)
  594. )
  595.  
  596. (defrule
  597.     (goal secondary-build 1)
  598.     (can-train heavy-cavalry-archer)
  599.     (or
  600.         (population < deathmatch-unit-max)
  601.         (and
  602.             (population < unit-max)
  603.             (goal need-deathmatch-villagers NO)
  604.         )
  605.     )
  606. =>
  607.     (train heavy-cavalry-archer)
  608.     (set-goal secondary-build 0)
  609. )
  610.  
  611. #end-if
  612. ;***********************************
  613. #load-if-defined SARACEN-CIV
  614. ;trains mamluks, hvy HA, arbalests, hand cannoneers
  615. (defrule
  616.     (true)
  617. =>
  618.     (set-goal combat-arm CAVALRY)
  619.     (set-goal 36 YES)
  620.     (set-goal 37 NO)
  621.     (set-goal 38 YES)
  622.     (set-goal 39 YES)
  623.  
  624.     (set-strategic-number sn-wood-gatherer-percentage 20)
  625.     (set-strategic-number sn-food-gatherer-percentage 45)
  626.     (set-strategic-number sn-gold-gatherer-percentage 30)
  627.     (set-strategic-number sn-stone-gatherer-percentage 5)
  628.     (disable-self)
  629. )
  630.  
  631. (defrule
  632.     (goal secondary-build 1)
  633. =>
  634.     (generate-random-number 2)
  635. )
  636.  
  637. (defrule
  638.     (goal secondary-build 1)
  639.     (random-number == 1)
  640.     (can-train heavy-cavalry-archer)
  641.     (or
  642.         (population < deathmatch-unit-max)
  643.         (and
  644.             (population < unit-max)
  645.             (goal need-deathmatch-villagers NO)
  646.         )
  647.     )
  648. =>
  649.     (train heavy-cavalry-archer)
  650.     (set-goal secondary-build 0)
  651. )
  652.  
  653. (defrule
  654.     (goal secondary-build 1)
  655.     (random-number == 2)
  656.     (or
  657.         (can-train hand-cannoneer)
  658.         (can-train arbalest)
  659.     )
  660.     (or
  661.         (population < deathmatch-unit-max)
  662.         (and
  663.             (population < unit-max)
  664.             (goal need-deathmatch-villagers NO)
  665.         )
  666.     )
  667. =>
  668.     (train hand-cannoneer)
  669.     (train arbalest)
  670.     (set-goal secondary-build 0)
  671. )
  672.  
  673. #end-if
  674. ;*********************************
  675. #load-if-defined TEUTONIC-CIV
  676. ;trains TK, paladins, hvy scorps
  677. (defrule
  678.     (true)
  679. =>
  680.     (set-goal combat-arm INFANTRY)
  681.     (set-goal 36 2)
  682.     (set-goal 37 YES)
  683.     (set-goal 38 NO)
  684.     (set-goal 39 NO)
  685.  
  686.     (set-strategic-number sn-wood-gatherer-percentage 20)
  687.     (set-strategic-number sn-food-gatherer-percentage 50)
  688.     (set-strategic-number sn-gold-gatherer-percentage 25)
  689.     (set-strategic-number sn-stone-gatherer-percentage 5)
  690.     (disable-self)
  691. )
  692.  
  693. (defrule
  694.     (goal secondary-build 1)
  695. =>
  696.     (generate-random-number 2)
  697. )
  698.  
  699. (defrule
  700.     (goal secondary-build 1)
  701.     (random-number == 1)
  702.     (can-train paladin)
  703.     (or
  704.         (population < deathmatch-unit-max)
  705.         (and
  706.             (population < unit-max)
  707.             (goal need-deathmatch-villagers NO)
  708.         )
  709.     )
  710. =>
  711.     (train paladin)
  712.     (set-goal secondary-build 0)
  713. )
  714.  
  715. (defrule
  716.     (goal secondary-build 1)
  717.     (random-number == 2)
  718.     (can-train heavy-scorpion)
  719.     (or
  720.         (population < deathmatch-unit-max)
  721.         (and
  722.             (population < unit-max)
  723.             (goal need-deathmatch-villagers NO)
  724.         )
  725.     )
  726. =>
  727.     (train heavy-scorpion)
  728.     (set-goal secondary-build 0)
  729. )
  730. #end-if
  731. ;************************************
  732. #load-if-defined TURKISH-CIV
  733. ;trains janissaries, champs, lt cav, hvy scorp
  734. (defrule
  735.     (true)
  736. =>
  737.     (set-goal combat-arm ARCHER)
  738.     (set-goal 36 YES)
  739.     (set-goal 37 NO)
  740.     (set-goal 38 YES)
  741.     (set-goal 39 NO)
  742.  
  743.     (set-strategic-number sn-wood-gatherer-percentage 25)
  744.     (set-strategic-number sn-food-gatherer-percentage 35)
  745.     (set-strategic-number sn-gold-gatherer-percentage 35)
  746.     (set-strategic-number sn-stone-gatherer-percentage 5)
  747.     (disable-self)
  748. )
  749.  
  750. (defrule
  751.     (goal secondary-build 1)
  752. =>
  753.     (generate-random-number 3)
  754. )
  755.  
  756. (defrule
  757.     (goal secondary-build 1)
  758.     (random-number == 1)
  759.     (can-train champion)
  760.     (or
  761.         (population < deathmatch-unit-max)
  762.         (and
  763.             (population < unit-max)
  764.             (goal need-deathmatch-villagers NO)
  765.         )
  766.     )
  767. =>
  768.     (train champion)
  769.     (set-goal secondary-build 0)
  770. )
  771.  
  772. (defrule
  773.     (goal secondary-build 1)
  774.     (random-number == 2)
  775.     (can-train light-cavalry)
  776.     (or
  777.         (population < deathmatch-unit-max)
  778.         (and
  779.             (population < unit-max)
  780.             (goal need-deathmatch-villagers NO)
  781.         )
  782.     )
  783. =>
  784.     (train light-cavalry)
  785.     (set-goal secondary-build 0)
  786. )
  787.  
  788. (defrule
  789.     (goal secondary-build 1)
  790.     (random-number == 3)
  791.     (can-train heavy-scorpion)
  792.     (or
  793.         (population < deathmatch-unit-max)
  794.         (and
  795.             (population < unit-max)
  796.             (goal need-deathmatch-villagers NO)
  797.         )
  798.     )
  799. =>
  800.     (train heavy-scorpion)
  801.     (set-goal secondary-build 0)
  802. )
  803. #end-if
  804. ;********************************
  805. #load-if-defined VIKING-CIV
  806. ;trains berserks, lt cav, arbalests, hvy scorp
  807. (defrule
  808.     (true)
  809. =>
  810.     (set-goal combat-arm INFANTRY)
  811.     (set-goal 36 2)
  812.     (set-goal 37 NO)
  813.     (set-goal 38 NO)
  814.     (set-goal 39 YES)
  815.  
  816.     (set-strategic-number sn-wood-gatherer-percentage 20)
  817.     (set-strategic-number sn-food-gatherer-percentage 50)
  818.     (set-strategic-number sn-gold-gatherer-percentage 25)
  819.     (set-strategic-number sn-stone-gatherer-percentage 5)
  820.     (disable-self)
  821. )
  822.  
  823. (defrule
  824.     (goal secondary-build 1)
  825. =>
  826.     (generate-random-number 3)
  827. )
  828.  
  829. (defrule
  830.     (goal secondary-build 1)
  831.     (random-number == 1)
  832.     (can-train light-cavalry)
  833.     (or
  834.         (population < deathmatch-unit-max)
  835.         (and
  836.             (population < unit-max)
  837.             (goal need-deathmatch-villagers NO)
  838.         )
  839.     )
  840. =>
  841.     (train light-cavalry)
  842.     (set-goal secondary-build 0)
  843. )
  844.  
  845. (defrule
  846.     (goal secondary-build 1)
  847.     (random-number == 2)
  848.     (can-train arbalest)
  849.     (or
  850.         (population < deathmatch-unit-max)
  851.         (and
  852.             (population < unit-max)
  853.             (goal need-deathmatch-villagers NO)
  854.         )
  855.     )
  856. =>
  857.     (train arbalest)
  858.     (set-goal secondary-build 0)
  859. )
  860.  
  861. (defrule
  862.     (goal secondary-build 1)
  863.     (random-number == 3)
  864.     (can-train heavy-scorpion)
  865.     (or
  866.         (population < deathmatch-unit-max)
  867.         (and
  868.             (population < unit-max)
  869.             (goal need-deathmatch-villagers NO)
  870.         )
  871.     )
  872. =>
  873.     (train heavy-scorpion)
  874.     (set-goal secondary-build 0)
  875. )
  876. #end-if
  877. ;*********************************************************
  878. ;*********************************************************
  879. #load-if-defined DIFFICULTY-EASIEST
  880. (defrule
  881.     (true)
  882. =>
  883.     (set-strategic-number sn-percent-enemy-sighted-response 10)
  884.     (set-strategic-number sn-consecutive-idle-unit-limit 60)
  885.     (set-strategic-number sn-easiest-reaction-percentage 20)
  886.     (set-difficulty-parameter ability-to-maintain-distance 100)
  887.     (set-difficulty-parameter ability-to-dodge-missiles 100)
  888.     (disable-self)
  889. )
  890. #end-if
  891. ;********************************
  892. #load-if-defined DIFFICULTY-EASY
  893. (load "petersen tower")
  894.  
  895. (defrule
  896.     (true)
  897. =>
  898.     (set-strategic-number sn-percent-enemy-sighted-response 25)
  899.     (set-strategic-number sn-consecutive-idle-unit-limit 20)
  900.     (set-strategic-number sn-easier-reaction-percentage 20)
  901.     (set-strategic-number sn-hits-before-alliance-change 50)
  902.     (set-difficulty-parameter ability-to-maintain-distance 75)
  903.     (set-difficulty-parameter ability-to-dodge-missiles 75)
  904.     (disable-self)
  905. )
  906. #end-if
  907.  
  908. ;********************************
  909. #load-if-defined DIFFICULTY-MODERATE
  910. (load "petersen tower")
  911. (load "petersen wonder")
  912.  
  913. (defrule
  914.     (true)
  915. =>
  916.     (set-strategic-number sn-percent-enemy-sighted-response 75)
  917.     (set-strategic-number sn-consecutive-idle-unit-limit 5)
  918.     (set-strategic-number sn-hits-before-alliance-change 25)
  919.     (set-difficulty-parameter ability-to-maintain-distance 50)
  920.     (set-difficulty-parameter ability-to-dodge-missiles 50)
  921.     (disable-self)
  922. )
  923. #end-if
  924.  
  925. ;********************************
  926. #load-if-defined DIFFICULTY-HARD
  927. (load "petersen tower")
  928. (load "petersen wonder")
  929.  
  930. (defrule
  931.     (true)
  932. =>
  933.     (set-strategic-number sn-percent-enemy-sighted-response 99)
  934.     (set-strategic-number sn-consecutive-idle-unit-limit 1)
  935.     (set-strategic-number sn-hits-before-alliance-change 10)
  936.     (set-difficulty-parameter ability-to-maintain-distance 0)
  937.     (set-difficulty-parameter ability-to-dodge-missiles 0)
  938.     (disable-self)
  939. )
  940. #end-if
  941.  
  942. ;********************************
  943. #load-if-defined DIFFICULTY-HARDEST
  944. (load "petersen tower")
  945. (load "petersen wonder")
  946.  
  947. (defrule
  948.     (true)
  949. =>
  950.     (set-strategic-number sn-percent-enemy-sighted-response 99)
  951.     (set-strategic-number sn-hits-before-alliance-change 10)
  952.     (set-difficulty-parameter ability-to-maintain-distance 0)
  953.     (set-difficulty-parameter ability-to-dodge-missiles 0)
  954.     (disable-self)
  955. )
  956. #end-if
  957. ;********************************
  958. ;********************************
  959.  
  960. (defrule
  961.     (true)
  962. =>
  963.     (set-goal military-parity YES)    ;goal 3
  964.     (set-goal attack-control NO)    ;goal 4
  965.     (set-goal need-deathmatch-villagers NO)    ;goal 7
  966.  
  967.     (set-goal secondary-build 0)    ;goal 8
  968.     (set-goal soldiers-available NO);goal 10
  969.     (set-goal combat-arm NOTICE)    ;goal 11
  970.  
  971.     (set-goal age-advancement NO)    ;goal 14
  972.     (set-goal make-warboat NO)        ;goal 15
  973.     (set-goal upgrade-conflict NO)    ;goal 16
  974.  
  975.     (disable-self)
  976. )
  977.  
  978. (defrule
  979.     (true)
  980. =>
  981.     (set-goal pre-unique-arm NO)    ;goal 17
  982.     (set-goal wonder-attempt MAYBE)    ;goal 20
  983.     (set-goal enemy-soldiers NO)    ;goal 26
  984.     (set-goal siege-available YES)    ;goal 34
  985.     (disable-self)
  986. )
  987.  
  988. (defrule
  989.     (cc-players-building-type-count any-enemy castle == 0)
  990. =>
  991.     (set-goal rush-control RUSHING)
  992. )
  993.  
  994. (defrule
  995.     (goal rush-control RUSHING)
  996.     (cc-players-building-type-count every-enemy castle > 0)
  997. =>
  998.     (set-goal rush-control NO)
  999. )
  1000.  
  1001. ;========================DARK AGE RULES
  1002. (defrule
  1003.     (true)
  1004. =>
  1005.     (set-strategic-number sn-coop-share-information 1)
  1006.     (set-strategic-number sn-coop-share-attacking 1)
  1007.     (set-strategic-number sn-maximum-town-size imperial-town-size)
  1008.  
  1009.     (set-strategic-number sn-task-ungrouped-soldiers 0)
  1010.     (set-strategic-number sn-zero-priority-distance 250)
  1011.     (set-strategic-number sn-blot-exploration-map 0)
  1012.  
  1013.     (set-strategic-number sn-attack-intelligence 1)
  1014.     (set-strategic-number sn-gather-defense-units 1)
  1015.     (set-strategic-number sn-defense-distance 2)
  1016.  
  1017.     (set-strategic-number sn-maximum-gaia-attack-response 1)
  1018.     (set-strategic-number sn-ignore-attack-group-under-attack 1)
  1019.     (set-strategic-number sn-allow-civilian-defense 0)
  1020.  
  1021.     (disable-self)
  1022. )
  1023.  
  1024. (defrule
  1025.     (true)
  1026. =>
  1027.     (set-strategic-number sn-stone-dropsite-distance 3)
  1028.     (set-strategic-number sn-gold-dropsite-distance 3)
  1029.     (set-strategic-number sn-retask-gather-amount 20)
  1030.     (set-strategic-number sn-camp-max-distance 15)
  1031.  
  1032.     (set-strategic-number sn-mill-max-distance 15)
  1033.     (set-strategic-number sn-enemy-sighted-response-distance 15)
  1034.     (set-strategic-number sn-group-form-distance 10)
  1035.  
  1036.     (set-strategic-number sn-town-defend-priority 7)
  1037.     (set-strategic-number sn-gold-defend-priority 2)
  1038.     (set-strategic-number sn-stone-defend-priority 3)
  1039.     (set-strategic-number sn-forage-defend-priority 0)
  1040.  
  1041.     (disable-self)
  1042. )
  1043.  
  1044. (defrule
  1045.     (true)
  1046. =>
  1047.     (set-strategic-number sn-relic-defend-priority 0)
  1048.     (set-strategic-number sn-cap-civilian-gatherers 100)
  1049.     (set-strategic-number sn-percent-civilian-gatherers 0)
  1050.  
  1051.     (set-strategic-number sn-minimum-civilian-explorers 0)
  1052.     (set-strategic-number sn-cap-civilian-explorers 0)
  1053.     (set-strategic-number sn-percent-civilian-explorers 0)
  1054.  
  1055.     (set-strategic-number sn-cap-civilian-builders 12)
  1056.     (set-strategic-number sn-percent-civilian-builders 100)
  1057.  
  1058.     (disable-self)
  1059. )
  1060.  
  1061. (defrule
  1062.     (game-time > 600)
  1063. =>
  1064.     (set-strategic-number sn-blot-exploration-map 1)
  1065.     (disable-self)
  1066. )
  1067.  
  1068. (defrule
  1069.     (building-type-count siege-workshop >= 3)
  1070.     (building-type-count castle >= 3)
  1071.     (or
  1072.         (or
  1073.             (wood-amount < 5000)
  1074.             (food-amount < 5000)
  1075.         )
  1076.         (or
  1077.             (gold-amount < 2000)
  1078.             (stone-amount < 700)
  1079.         )
  1080.     )
  1081. =>
  1082.     (set-strategic-number sn-percent-civilian-builders 15)
  1083.     (set-strategic-number sn-percent-civilian-gatherers 85)
  1084.     (enable-timer t-lumbercamp 1)
  1085.     (disable-self)
  1086. )
  1087.  
  1088. (defrule
  1089.     (strategic-number sn-percent-civilian-gatherers == 85)
  1090.     (or
  1091.         (or
  1092.             (wood-amount < 500)
  1093.             (food-amount < 500)
  1094.         )
  1095.         (or
  1096.             (gold-amount < 500)
  1097.             (stone-amount < 100)
  1098.         )
  1099.     )
  1100. =>
  1101.     (set-strategic-number sn-percent-civilian-builders 10)
  1102.     (set-strategic-number sn-percent-civilian-gatherers 90)
  1103.     (disable-self)
  1104. )
  1105.  
  1106. ; villager count
  1107. (defrule
  1108.     (can-train villager)
  1109.     (or
  1110.         (or
  1111.             (civilian-population < 6)
  1112.             (and
  1113.                 (current-age == feudal-age)
  1114.                 (civilian-population < 8)
  1115.             )
  1116.         )
  1117.         (or
  1118.             (and
  1119.                 (current-age == castle-age)
  1120.                 (civilian-population < 10)
  1121.             )
  1122.             (and
  1123.                 (current-age == imperial-age)
  1124.                 (civilian-population < civ-dark-rush)
  1125.             )
  1126.         )
  1127.     )
  1128. =>
  1129.     (train villager)
  1130. )
  1131.  
  1132. (defrule
  1133.     (strategic-number sn-percent-civilian-gatherers == 90)
  1134.     (civilian-population < civ-castle)
  1135.     (can-train villager)
  1136. =>
  1137.     (train villager)
  1138. )
  1139.  
  1140. (defrule
  1141.     (building-type-count-total lumber-camp > 0)
  1142.     (idle-farm-count == 0)
  1143.     (sheep-and-forage-too-far)
  1144.     (can-build farm)
  1145. =>
  1146.     (build farm)
  1147. )
  1148.  
  1149. ;*********************************
  1150. ;age advancement
  1151. (defrule
  1152.     (can-research feudal-age)
  1153.     (or
  1154.         (players-current-age every-human >= feudal-age)
  1155.         (difficulty <= moderate)
  1156.     )
  1157. =>
  1158.     (research feudal-age)
  1159.     (set-goal age-advancement NOTICE)
  1160.     (enable-timer t-ageup 140)
  1161. )
  1162.  
  1163. (defrule
  1164.     (current-age == feudal-age)
  1165. =>
  1166.     (disable-timer t-ageup)
  1167.     (set-goal age-advancement NO)
  1168.     (disable-self)
  1169. )
  1170.  
  1171. (defrule
  1172.     (can-research castle-age)
  1173.     (or
  1174.         (players-current-age every-human >= castle-age)
  1175.         (difficulty <= moderate)
  1176.     )
  1177. =>
  1178.     (research castle-age)
  1179.     (set-goal age-advancement NOTICE)
  1180.     (enable-timer t-ageup 170)
  1181. )
  1182.  
  1183. (defrule
  1184.     (current-age == castle-age)
  1185. =>
  1186.     (disable-timer t-ageup)
  1187.     (set-goal age-advancement NO)
  1188.     (disable-self)
  1189. )
  1190.  
  1191. (defrule
  1192.     (can-research imperial-age)
  1193.     (or
  1194.         (difficulty <= moderate)
  1195.         (and
  1196.             (players-current-age every-human == imperial-age)
  1197.             (difficulty == easy)
  1198.         )
  1199.     )
  1200. =>
  1201.     (research imperial-age)
  1202.     (set-goal age-advancement NOTICE)
  1203.     (enable-timer t-ageup 200)
  1204. )
  1205.  
  1206. (defrule
  1207.     (difficulty <= moderate)
  1208.     (current-age == imperial-age)
  1209. =>
  1210.     (disable-timer t-ageup)
  1211.     (set-goal age-advancement NO)
  1212.     (disable-self)
  1213. )
  1214.  
  1215. (defrule
  1216.     (goal age-advancement NOTICE)
  1217.     (or
  1218.         (current-age < imperial-age)
  1219.         (and
  1220.             (current-age < imperial-age)
  1221.             (difficulty <= easy)
  1222.         )
  1223.     )
  1224.     (timer-triggered t-ageup)
  1225. =>
  1226.     (disable-timer t-ageup)
  1227.     (set-goal age-advancement NO)
  1228. )
  1229. ;*********************************
  1230. ;buildings
  1231. (defrule
  1232.     (difficulty <= moderate)
  1233.     (building-type-count-total house <= fifteen-percent-pop)
  1234.     (can-build house)
  1235. =>
  1236.     (build house)
  1237. )
  1238.  
  1239. #load-if-defined DIFFICULTY-EASIEST
  1240. (defrule
  1241.     (military-population < 10)
  1242.     (housing-headroom < 5)
  1243.     (population-headroom > 0)
  1244.     (can-build house)
  1245. =>
  1246.     (build house)
  1247. )
  1248. #end-if
  1249.  
  1250. #load-if-defined DIFFICULTY-EASY
  1251. (defrule
  1252.     (military-population < civ-dark-rush)
  1253.     (housing-headroom < 5)
  1254.     (population-headroom > 0)
  1255.     (can-build house)
  1256. =>
  1257.     (build house)
  1258. )
  1259. #end-if
  1260.  
  1261. (defrule
  1262.     (strategic-number sn-gold-gatherer-percentage > 0)
  1263.     (building-type-count mining-camp == 0)
  1264.     (resource-found gold)
  1265.     (can-build mining-camp)
  1266. =>
  1267.     (build mining-camp)
  1268. )
  1269.  
  1270. (defrule
  1271.     (strategic-number sn-wood-gatherer-percentage > 0)
  1272.     (building-type-count lumber-camp == 0)
  1273.     (can-build lumber-camp)
  1274. =>
  1275.     (build lumber-camp)
  1276. )
  1277.  
  1278. (defrule
  1279.     (current-age == imperial-age)
  1280.     (building-type-count siege-workshop > 0)
  1281.     (building-type-count castle > 0)
  1282.     (building-type-count town-center < 3)
  1283.     (can-build town-center)
  1284. =>
  1285.     (build town-center)
  1286. )
  1287.  
  1288. ;build the following after running low on resources
  1289.  
  1290. (defrule
  1291.     (strategic-number sn-percent-civilian-gatherers >= 85)
  1292.     (timer-triggered t-lumbercamp)
  1293.     (resource-found gold)
  1294.     (resource-found stone)
  1295.     (or
  1296.         (dropsite-min-distance gold > 7)
  1297.         (dropsite-min-distance stone > 7)
  1298.     )
  1299.     (can-build town-center)
  1300. =>
  1301.     (build town-center)
  1302. )
  1303.  
  1304. (defrule
  1305.     (strategic-number sn-percent-civilian-gatherers >= 85)
  1306.     (timer-triggered t-lumbercamp)
  1307.     (resource-found wood)
  1308.     (dropsite-min-distance wood > 7)
  1309.     (can-build town-center)
  1310. =>
  1311.     (build town-center)
  1312. )
  1313.  
  1314. (defrule
  1315.     (timer-triggered t-lumbercamp)
  1316. =>
  1317.     (disable-timer t-lumbercamp)
  1318.     (enable-timer t-lumbercamp 60)
  1319. )
  1320.  
  1321. (defrule
  1322.     (building-type-count-total mill == 0)
  1323.     (building-type-count-total market == 0)
  1324.     (can-build mill)
  1325. =>
  1326.     (build mill)
  1327. )
  1328.  
  1329. (defrule
  1330.     (building-type-count-total market == 0)
  1331.     (can-build market)
  1332. =>
  1333.     (build market)
  1334. )
  1335.  
  1336. (defrule
  1337.     (building-type-count-total blacksmith < 2)
  1338.     (can-build blacksmith)
  1339. =>
  1340.     (build blacksmith)
  1341. )
  1342.  
  1343. (defrule
  1344.     (building-type-count-total university == 0)
  1345.     (can-build university)
  1346. =>
  1347.     (build university)
  1348. )
  1349.  
  1350. (defrule
  1351.     (building-type-count-total monastery < 3)
  1352.     (can-build monastery)
  1353. =>
  1354.     (build monastery)
  1355. )
  1356.  
  1357. (defrule
  1358.     (can-build barracks)
  1359.     (building-type-count-total barracks < 2)
  1360. =>
  1361.     (build barracks)
  1362. )
  1363.  
  1364. (defrule
  1365.     (building-type-count-total barracks == 2)
  1366.     (unit-type-count villager > 6)
  1367.     (can-build barracks)
  1368. =>
  1369.     (build-forward barracks)
  1370. )
  1371.  
  1372. (defrule
  1373.     (building-type-count-total archery-range < 2)
  1374.     (can-build archery-range)
  1375. =>
  1376.     (build archery-range)
  1377. )
  1378.  
  1379. (defrule
  1380.     (building-type-count-total archery-range == 2)
  1381.     (unit-type-count villager > 6)
  1382.     (can-build archery-range)
  1383. =>
  1384.     (build-forward archery-range)
  1385. )
  1386.  
  1387. (defrule
  1388.     (building-type-count-total stable < 2)
  1389.     (can-build stable)
  1390. =>
  1391.     (build stable)
  1392. )
  1393.  
  1394. (defrule
  1395.     (building-type-count-total stable == 2)
  1396.     (unit-type-count villager > 6)
  1397.     (can-build stable)
  1398. =>
  1399.     (build-forward stable)
  1400. )
  1401.  
  1402. (defrule
  1403.     (building-type-count-total siege-workshop < 2)
  1404.     (can-build siege-workshop)
  1405. =>
  1406.     (build siege-workshop)
  1407. )
  1408.  
  1409. (defrule
  1410.     (building-type-count-total siege-workshop > 1)
  1411.     (building-type-count-total siege-workshop < 4)
  1412.     (unit-type-count villager > 6)
  1413.     (can-build siege-workshop)
  1414. =>
  1415.     (build-forward siege-workshop)
  1416. )
  1417.  
  1418. (defrule
  1419.     (building-type-count-total castle < 3)
  1420.     (can-build castle)
  1421. =>
  1422.     (build castle)
  1423. )
  1424.  
  1425. (defrule
  1426.     (building-type-count-total castle > 2)
  1427.     (building-type-count-total castle < 5)
  1428.     (unit-type-count villager > 6)
  1429.     (can-build castle)
  1430. =>
  1431.     (build-forward castle)
  1432. )
  1433.  
  1434. (defrule
  1435.     (or
  1436.         (and
  1437.             (goal 1 1)
  1438.             (building-type-count-total dock < 2)
  1439.         )
  1440.         (and
  1441.             (goal 1 10)
  1442.             (building-type-count-total dock < 4)
  1443.         )
  1444.     )
  1445.     (can-build dock)
  1446. =>
  1447.     (build dock)
  1448. )
  1449. ;*********************************************************
  1450. ;DIPLOMACY
  1451. #load-if-not-defined TEAMS-LOCKED
  1452. (defrule
  1453.     (current-age >= feudal-age)
  1454.     (players-stance any-computer-ally neutral)
  1455. =>
  1456.     (set-stance this-any-computer-ally neutral)
  1457. )
  1458.  
  1459. (defrule
  1460.     (current-age >= feudal-age)
  1461.     (players-stance any-computer-ally enemy)
  1462. =>
  1463.     (set-stance this-any-computer-ally enemy)
  1464. )
  1465.  
  1466. (defrule
  1467.     (current-age >= feudal-age)
  1468.     (players-stance any-computer-neutral ally)
  1469. =>
  1470.     (set-stance this-any-computer-neutral ally)
  1471. )
  1472.  
  1473. (defrule
  1474.     (current-age >= feudal-age)
  1475.     (players-stance any-computer-neutral enemy)
  1476. =>
  1477.     (set-stance this-any-computer-neutral enemy)
  1478. )
  1479.  
  1480. (defrule
  1481.     (current-age >= feudal-age)
  1482.     (players-stance any-computer-enemy ally)
  1483. =>
  1484.     (set-stance this-any-computer-enemy ally)
  1485. )
  1486.  
  1487. (defrule
  1488.     (current-age >= feudal-age)
  1489.     (players-stance any-computer-enemy neutral)
  1490. =>
  1491.     (set-stance this-any-computer-enemy neutral)
  1492. )
  1493. #end-if
  1494. ;*****************************************
  1495. ;*****************************************
  1496. ;UPGRADES
  1497. (defrule
  1498.     (can-research my-unique-unit-upgrade)
  1499. =>
  1500.     (research my-unique-unit-upgrade)
  1501. )
  1502.  
  1503. ;DOCK
  1504. (defrule
  1505.     (not (goal 1 0) )
  1506.     (can-research ri-war-galley)
  1507. =>
  1508.     (research ri-war-galley)
  1509. )
  1510.  
  1511. (defrule
  1512.     (not (goal 1 0) )
  1513.     (can-research ri-galleon)
  1514. =>
  1515.     (research ri-galleon)
  1516. )
  1517.  
  1518. (defrule
  1519.     (not (goal 1 0) )
  1520.     (can-research ri-fast-fire-ship)
  1521. =>
  1522.     (research ri-fast-fire-ship)
  1523. )
  1524.  
  1525. (defrule
  1526.     (not (goal 1 0) )
  1527.     (goal military-parity NO)
  1528.     (can-research ri-heavy-demolition-ship)
  1529. =>
  1530.     (research ri-heavy-demolition-ship)
  1531. )
  1532.  
  1533. (defrule
  1534.     (not (goal 1 0) )
  1535.     (can-research ri-cannon-galleon)
  1536. =>
  1537.     (research ri-cannon-galleon)
  1538. )
  1539.  
  1540. (defrule
  1541.     (not (goal 1 0) )
  1542.     (can-research ri-deck-guns)
  1543. =>
  1544.     (research ri-deck-guns)
  1545. )
  1546.  
  1547. ;BARRACKS UPGRADES
  1548. (defrule
  1549.     (or
  1550.         (goal 36 YES)
  1551.         (and
  1552.             (building-type-count castle == 0)
  1553.             (goal 36 2)
  1554.         )
  1555.     )
  1556.     (can-research ri-man-at-arms)
  1557. =>
  1558.     (research ri-man-at-arms)
  1559. )
  1560.  
  1561. (defrule
  1562.     (or
  1563.         (goal 36 YES)
  1564.         (and
  1565.             (building-type-count castle == 0)
  1566.             (goal 36 2)
  1567.         )
  1568.     )
  1569.     (can-research ri-long-swordsman)
  1570. =>
  1571.     (research ri-long-swordsman)
  1572. )
  1573.  
  1574. (defrule
  1575.     (or
  1576.         (goal 36 YES)
  1577.         (and
  1578.             (building-type-count castle == 0)
  1579.             (goal 36 2)
  1580.         )
  1581.     )
  1582.     (can-research ri-two-handed-swordsman)
  1583. =>
  1584.     (research ri-two-handed-swordsman)
  1585. )
  1586.  
  1587. (defrule
  1588.     (or
  1589.         (goal 36 YES)
  1590.         (and
  1591.             (building-type-count castle == 0)
  1592.             (goal 36 2)
  1593.         )
  1594.     )
  1595.     (can-research ri-champion)
  1596. =>
  1597.     (research ri-champion)
  1598. )
  1599.  
  1600. (defrule
  1601.     (unit-type-count spearman > 0)
  1602.     (can-research ri-pikeman)
  1603. =>
  1604.     (research ri-pikeman)
  1605. )
  1606.  
  1607. ;STABLE
  1608. (defrule
  1609.     (or
  1610.         (goal 37 YES)
  1611.         (and
  1612.             (building-type-count castle == 0)
  1613.             (goal 37 2)
  1614.         )
  1615.     )
  1616.     (can-research ri-cavalier)
  1617. =>
  1618.     (research ri-cavalier)
  1619. )
  1620.  
  1621. (defrule
  1622.     (or
  1623.         (goal 37 YES)
  1624.         (and
  1625.             (building-type-count castle == 0)
  1626.             (goal 37 2)
  1627.         )
  1628.     )
  1629.     (can-research ri-paladin)
  1630. =>
  1631.     (research ri-paladin)
  1632. )
  1633.  
  1634. (defrule
  1635.     (can-research ri-light-cavalry)
  1636. =>
  1637.     (research ri-light-cavalry)
  1638. )
  1639.  
  1640. (defrule
  1641.     (unit-type-count camel > 0)
  1642.     (can-research ri-heavy-camel)
  1643. =>
  1644.     (research ri-heavy-camel)
  1645. )
  1646.  
  1647. ;ARCHERY RANGE
  1648. (defrule
  1649.     (or
  1650.         (goal 38 YES)
  1651.         (and
  1652.             (building-type-count castle == 0)
  1653.             (goal 38 2)
  1654.         )
  1655.     )
  1656.     (can-research ri-heavy-cavalry-archer)
  1657. =>
  1658.     (research ri-heavy-cavalry-archer)
  1659. )
  1660.  
  1661. (defrule
  1662.     (or
  1663.         (goal 39 YES)
  1664.         (and
  1665.             (building-type-count castle == 0)
  1666.             (goal 39 2)
  1667.         )
  1668.     )
  1669.     (can-research ri-crossbow)
  1670. =>
  1671.     (research ri-crossbow)
  1672. )
  1673.  
  1674. (defrule
  1675.     (or
  1676.         (goal 39 YES)
  1677.         (and
  1678.             (building-type-count castle == 0)
  1679.             (goal 39 2)
  1680.         )
  1681.     )
  1682.     (can-research ri-arbalest)
  1683. =>
  1684.     (research ri-arbalest)
  1685. )
  1686.  
  1687. (defrule
  1688.     (or
  1689.         (goal 39 YES)
  1690.         (and
  1691.             (building-type-count castle == 0)
  1692.             (goal 39 2)
  1693.         )
  1694.     )
  1695.     (can-research ri-hand-cannon)
  1696. =>
  1697.     (research ri-hand-cannon)
  1698. )
  1699.  
  1700. (defrule
  1701.     (unit-type-count skirmisher > 0)
  1702.     (can-research ri-elite-skirmisher)
  1703. =>
  1704.     (research ri-elite-skirmisher)
  1705. )
  1706.  
  1707. ;SIEGE EQUIPMENT
  1708. (defrule
  1709.     (or
  1710.         (goal combat-arm INFANTRY)
  1711.         (goal combat-arm ARCHER)
  1712.     )
  1713.     (can-research ri-heavy-scorpion)
  1714. =>
  1715.     (research ri-heavy-scorpion)
  1716. )
  1717.  
  1718. (defrule
  1719.     (can-research ri-capped-ram)
  1720.     (or
  1721.         (or
  1722.             (cc-players-building-type-count any-enemy town-center > 2)
  1723.             (cc-players-building-type-count any-enemy keep > 1)
  1724.         )
  1725.         (or
  1726.             (cc-players-building-type-count any-enemy bombard-tower > 0)
  1727.             (cc-players-building-type-count any-enemy castle > 0)
  1728.         )
  1729.     )
  1730. =>
  1731.     (research ri-capped-ram)
  1732. )
  1733.  
  1734. (defrule
  1735.     (or
  1736.         (or
  1737.             (cc-players-building-type-count any-enemy town-center > 2)
  1738.             (cc-players-building-type-count any-enemy keep > 3)
  1739.         )
  1740.         (or
  1741.             (cc-players-building-type-count any-enemy bombard-tower > 1)
  1742.             (cc-players-building-type-count any-enemy castle > 2)
  1743.         )
  1744.     )
  1745.     (can-research ri-siege-ram)
  1746. =>
  1747.     (research ri-siege-ram)
  1748. )
  1749.  
  1750. (defrule
  1751.     (can-research ri-onager)
  1752. =>
  1753.     (research ri-onager)
  1754. )
  1755.  
  1756. (defrule
  1757.     (can-research ri-siege-onager)
  1758. =>
  1759.     (research ri-siege-onager)
  1760. )
  1761.  
  1762. (defrule
  1763.     (can-research ri-bombard-cannon)
  1764. =>
  1765.     (research ri-bombard-cannon)
  1766. )
  1767. ;*********************************************************
  1768. ;UNIT PRODUCTION
  1769.  
  1770. (defrule
  1771.     (or
  1772.         (or
  1773.             (wood-amount < 5000)
  1774.             (food-amount < 5000)
  1775.         )
  1776.         (or
  1777.             (gold-amount < 2000)
  1778.             (stone-amount < 700)
  1779.         )
  1780.     )
  1781. =>
  1782.     (set-goal need-deathmatch-villagers YES)
  1783.     (disable-self)
  1784. )
  1785.  
  1786. (defrule
  1787.     (building-type-count castle == 0)
  1788.     (can-train militiaman-line)
  1789.     (or
  1790.         (population < deathmatch-unit-max)
  1791.         (and
  1792.             (population < unit-max)
  1793.             (goal need-deathmatch-villagers NO)
  1794.         )
  1795.     )
  1796.     (not (goal 36 NO) )
  1797. =>
  1798.     (train militiaman-line)
  1799. )
  1800.  
  1801. (defrule
  1802.     (building-type-count castle == 0)
  1803.     (can-train knight-line)
  1804.     (or
  1805.         (population < deathmatch-unit-max)
  1806.         (and
  1807.             (population < unit-max)
  1808.             (goal need-deathmatch-villagers NO)
  1809.         )
  1810.     )
  1811.     (not (goal 37 NO) )
  1812. =>
  1813.     (train knight-line)
  1814. )
  1815.  
  1816. (defrule
  1817.     (building-type-count castle == 0)
  1818.     (can-train cavalry-archer-line)
  1819.     (or
  1820.         (population < deathmatch-unit-max)
  1821.         (and
  1822.             (population < unit-max)
  1823.             (goal need-deathmatch-villagers NO)
  1824.         )
  1825.     )
  1826.     (not (goal 38 NO) )
  1827. =>
  1828.     (train cavalry-archer-line)
  1829. )
  1830.  
  1831. (defrule
  1832.     (building-type-count castle == 0)
  1833.     (can-train archer-line)
  1834.     (not (unit-available hand-cannoneer) )
  1835.     (or
  1836.         (population < deathmatch-unit-max)
  1837.         (and
  1838.             (population < unit-max)
  1839.             (goal need-deathmatch-villagers NO)
  1840.         )
  1841.     )
  1842.     (not (goal 39 NO) )
  1843. =>
  1844.     (train archer-line)
  1845. )
  1846.  
  1847. (defrule
  1848.     (building-type-count castle == 0)
  1849.     (can-train hand-cannoneer)
  1850.     (or
  1851.         (population < deathmatch-unit-max)
  1852.         (and
  1853.             (population < unit-max)
  1854.             (goal need-deathmatch-villagers NO)
  1855.         )
  1856.     )
  1857.     (not (goal 39 NO) )
  1858. =>
  1859.     (train hand-cannoneer)
  1860. )
  1861.  
  1862. (defrule
  1863.     (can-train my-unique-unit-line)
  1864.     (or
  1865.         (population < deathmatch-unit-max)
  1866.         (and
  1867.             (population < unit-max)
  1868.             (goal need-deathmatch-villagers NO)
  1869.         )
  1870.     )
  1871. =>
  1872.     (train my-unique-unit-line)
  1873.     (set-goal secondary-build 1)
  1874. )
  1875.  
  1876. ; monks
  1877. (defrule
  1878.     (unit-type-count my-unique-unit-line > ten-percent-pop)
  1879.     (unit-type-count-total monk == 0)
  1880.     (or
  1881.         (or
  1882.             (civ-selected celtic)
  1883.             (civ-selected gothic)
  1884.         )
  1885.         (or
  1886.             (or
  1887.                 (civ-selected mongol)
  1888.                 (civ-selected persian)
  1889.             )
  1890.             (civ-selected viking)
  1891.         )
  1892.     )
  1893.     (can-train monk)
  1894. =>
  1895.     (train monk)
  1896. )
  1897.  
  1898. (defrule
  1899.     (unit-type-count my-unique-unit-line > ten-percent-pop)
  1900.     (unit-type-count-total monk < five-percent-pop)
  1901.     (or
  1902.         (or
  1903.             (civ-selected chinese)
  1904.             (civ-selected frankish)
  1905.         )
  1906.         (civ-selected turkish)
  1907.     )
  1908.     (can-train monk)
  1909. =>
  1910.     (train monk)
  1911. )
  1912.  
  1913. (defrule
  1914.     (unit-type-count my-unique-unit-line > ten-percent-pop)
  1915.     (unit-type-count-total monk < ten-percent-pop)
  1916.     (or
  1917.         (civ-selected briton)
  1918.         (or
  1919.             (or
  1920.                 (civ-selected byzantine)
  1921.                 (civ-selected japanese)
  1922.             )
  1923.             (or
  1924.                 (civ-selected saracen)
  1925.                 (civ-selected teutonic)
  1926.             )
  1927.         )
  1928.     )
  1929.     (can-train monk)
  1930. =>
  1931.     (train monk)
  1932. )
  1933. ;*********************************************
  1934. ;BLACKSMITH
  1935. ;first level upgrades
  1936. (defrule
  1937.     (can-research ri-forging)
  1938.     (nand
  1939.         (goal 36 NO)
  1940.         (goal 37 NO)
  1941.     )
  1942. =>
  1943.     (research ri-forging)
  1944. )
  1945.  
  1946. (defrule
  1947.     (can-research ri-fletching)
  1948.     (or
  1949.         (nand
  1950.             (goal 38 NO)
  1951.             (goal 39 NO)
  1952.         )
  1953.         (or
  1954.             (building-type-count-total watch-tower > 0)
  1955.             (unit-type-count-total war-galley > 0)
  1956.         )
  1957.     )
  1958. =>
  1959.     (research ri-fletching)
  1960. )
  1961.  
  1962. (defrule
  1963.     (can-research ri-padded-archer-armor)
  1964.     (nand
  1965.         (goal 38 NO)
  1966.         (goal 39 NO)
  1967.     )
  1968. =>
  1969.     (research ri-padded-archer-armor)
  1970. )
  1971.  
  1972. (defrule
  1973.     (can-research ri-scale-mail)
  1974.     (not (goal 36 NO) )
  1975. =>
  1976.     (research ri-scale-mail)
  1977. )
  1978.  
  1979. (defrule
  1980.     (can-research ri-scale-barding)
  1981.     (not (goal 37 NO) )
  1982. =>
  1983.     (research ri-scale-barding)
  1984. )
  1985.  
  1986. ;second upgrades
  1987. (defrule
  1988.     (can-research ri-iron-casting)
  1989.     (nand
  1990.         (goal 36 NO)
  1991.         (goal 37 NO)
  1992.     )
  1993. =>
  1994.     (research ri-iron-casting)
  1995. )
  1996.  
  1997. (defrule
  1998.     (can-research ri-bodkin-arrow)
  1999.     (or
  2000.         (nand
  2001.             (goal 38 NO)
  2002.             (goal 39 NO)
  2003.         )
  2004.         (or
  2005.             (building-type-count-total watch-tower > 0)
  2006.             (unit-type-count-total war-galley > 0)
  2007.         )
  2008.     )
  2009. =>
  2010.     (research ri-bodkin-arrow)
  2011. )
  2012.  
  2013. (defrule
  2014.     (can-research ri-leather-archer-armor)
  2015.     (nand
  2016.         (goal 38 NO)
  2017.         (goal 39 NO)
  2018.     )
  2019. =>
  2020.     (research ri-leather-archer-armor)
  2021. )
  2022.  
  2023. (defrule
  2024.     (can-research ri-chain-mail)
  2025.     (not (goal 36 NO) )
  2026. =>
  2027.     (research ri-chain-mail)
  2028. )
  2029.  
  2030. (defrule
  2031.     (can-research ri-chain-barding)
  2032.     (not (goal 37 NO) )
  2033. =>
  2034.     (research ri-chain-barding)
  2035. )
  2036.  
  2037. ;third upgrades
  2038. (defrule
  2039.     (can-research ri-blast-furnace)
  2040.     (nand
  2041.         (goal 36 NO)
  2042.         (goal 37 NO)
  2043.     )
  2044. =>
  2045.     (research ri-blast-furnace)
  2046. )
  2047.  
  2048. (defrule
  2049.     (can-research ri-bracer)
  2050.     (or
  2051.         (nand
  2052.             (goal 38 NO)
  2053.             (goal 39 NO)
  2054.         )
  2055.         (or
  2056.             (building-type-count-total watch-tower > 0)
  2057.             (unit-type-count-total war-galley > 0)
  2058.         )
  2059.     )
  2060. =>
  2061.     (research ri-bracer)
  2062. )
  2063.  
  2064. (defrule
  2065.     (can-research ri-ring-archer-armor)
  2066.     (nand
  2067.         (goal 38 NO)
  2068.         (goal 39 NO)
  2069.     )
  2070. =>
  2071.     (research ri-ring-archer-armor)
  2072. )
  2073.  
  2074. (defrule
  2075.     (can-research ri-plate-mail)
  2076.     (not (goal 36 NO) )
  2077. =>
  2078.     (research ri-plate-mail)
  2079. )
  2080.  
  2081. (defrule
  2082.     (can-research ri-tracking)
  2083.     (not (goal 36 NO) )
  2084. =>
  2085.     (research ri-tracking)
  2086. )
  2087.  
  2088. (defrule
  2089.     (can-research ri-squires)
  2090.     (not (goal 36 NO) )
  2091. =>
  2092.     (research ri-squires)
  2093. )
  2094.  
  2095. (defrule
  2096.     (can-research ri-plate-barding)
  2097.     (not (goal 37 NO) )
  2098. =>
  2099.     (research ri-plate-barding)
  2100. )
  2101.  
  2102. (defrule
  2103.     (can-research ri-husbandry)
  2104.     (not (goal 37 NO) )
  2105. =>
  2106.     (research ri-husbandry)
  2107. )
  2108.  
  2109. ;SIEGE RESEARCH ITEMS
  2110. (defrule
  2111.     (can-research ri-siege-engineers)
  2112. =>
  2113.     (research ri-siege-engineers)
  2114. )
  2115.  
  2116. (defrule
  2117.     (can-research ri-hoardings)
  2118. =>
  2119.     (research ri-hoardings)
  2120. )
  2121.  
  2122. (defrule
  2123.     (not (goal 1 0) )
  2124.     (can-research ri-heated-shot)
  2125. =>
  2126.     (research ri-heated-shot)
  2127. )
  2128.  
  2129. (defrule
  2130.     (building-type-count-total watch-tower > 2)
  2131.     (can-research ri-guard-tower)
  2132. =>
  2133.     (research ri-guard-tower)
  2134. )
  2135.  
  2136. (defrule
  2137.     (building-type-count-total guard-tower > 2)
  2138.     (can-research ri-keep)
  2139. =>
  2140.     (research ri-keep)
  2141. )
  2142.  
  2143. (defrule
  2144.     (can-research ri-bombard-tower)
  2145. =>
  2146.     (research ri-bombard-tower)
  2147. )
  2148.  
  2149. (defrule
  2150.     (goal wall-build YES)
  2151.     (can-research ri-fortified-wall)
  2152. =>
  2153.     (research ri-fortified-wall)
  2154. )
  2155.  
  2156. ;SHIPS
  2157. (defrule
  2158.     (not (goal 1 0) )
  2159.     (can-research ri-careening)
  2160. =>
  2161.     (research ri-careening)
  2162. )
  2163.  
  2164. (defrule
  2165.     (not (goal 1 0) )
  2166.     (can-research ri-dry-dock)
  2167. =>
  2168.     (research ri-dry-dock)
  2169. )
  2170.  
  2171. (defrule
  2172.     (not (goal 1 0) )
  2173.     (can-research ri-shipwright)
  2174. =>
  2175.     (research ri-shipwright)
  2176. )
  2177.  
  2178. ;OTHER RESEARCH ITEMS
  2179. (defrule
  2180.     (can-research ri-ballistics)
  2181. =>
  2182.     (research ri-ballistics)
  2183. )
  2184.  
  2185. (defrule
  2186.     (can-research ri-chemistry)
  2187. =>
  2188.     (research ri-chemistry)
  2189. )
  2190.  
  2191. (defrule
  2192.     (can-research ri-conscription)
  2193. =>
  2194.     (research ri-conscription)
  2195. )
  2196.  
  2197. ;***********************************
  2198. ;ECONOMIC UPGRADES
  2199. ;***********************************
  2200. ;mining-camp items
  2201. (defrule
  2202.     (strategic-number sn-percent-civilian-gatherers >= 85)
  2203.     (can-research ri-gold-mining)
  2204. =>
  2205.     (research ri-gold-mining)
  2206. )
  2207.  
  2208. (defrule
  2209.     (strategic-number sn-percent-civilian-gatherers >= 85)
  2210.     (can-research ri-gold-shaft-mining)
  2211. =>
  2212.     (research ri-gold-shaft-mining)
  2213. )
  2214.  
  2215. (defrule
  2216.     (strategic-number sn-percent-civilian-gatherers >= 85)
  2217.     (research-completed ri-gold-mining)
  2218.     (can-research ri-stone-mining)
  2219. =>
  2220.     (research ri-stone-mining)
  2221. )
  2222.  
  2223. (defrule
  2224.     (strategic-number sn-percent-civilian-gatherers >= 85)
  2225.     (research-completed ri-gold-shaft-mining)
  2226.     (can-research ri-stone-shaft-mining)
  2227. =>
  2228.     (research ri-stone-shaft-mining)
  2229. )
  2230.  
  2231. ;university stuff
  2232. (defrule
  2233.     (can-research ri-masonry)
  2234. =>
  2235.     (research ri-masonry)
  2236. )
  2237.  
  2238. (defrule
  2239.     (can-research ri-architecture)
  2240. =>
  2241.     (research ri-architecture)
  2242. )
  2243.  
  2244. (defrule
  2245.     (can-research ri-stonecutting)
  2246. =>
  2247.     (research ri-stonecutting)
  2248. )
  2249.  
  2250. ;market & town center
  2251. (defrule
  2252.     (can-research ri-town-watch)
  2253. =>
  2254.     (research ri-town-watch)
  2255. )
  2256.  
  2257. (defrule
  2258.     (can-research ri-town-patrol)
  2259. =>
  2260.     (research ri-town-patrol)
  2261. )
  2262.  
  2263. (defrule
  2264.     (player-in-game any-ally)
  2265.     (can-research ri-cartography)
  2266. =>
  2267.     (research ri-cartography)
  2268. )
  2269.  
  2270. (defrule
  2271.     (can-research ri-guilds)
  2272. =>
  2273.     (research ri-guilds)
  2274. )
  2275.  
  2276. (defrule
  2277.     (current-age == imperial-age)
  2278.     (can-research ri-loom)
  2279. =>
  2280.     (research ri-loom)
  2281. )
  2282.  
  2283. (defrule
  2284.     (strategic-number sn-percent-civilian-gatherers >= 85)
  2285.     (can-research ri-wheel-barrow)
  2286. =>
  2287.     (research ri-wheel-barrow)
  2288. )
  2289.  
  2290. (defrule
  2291.     (strategic-number sn-percent-civilian-gatherers >= 85)
  2292.     (can-research ri-hand-cart)
  2293. =>
  2294.     (research ri-hand-cart)
  2295. )
  2296.  
  2297. (defrule
  2298.     (player-in-game any-ally)
  2299.     (can-research ri-coinage)
  2300. =>
  2301.     (research ri-coinage)
  2302. )
  2303.  
  2304. (defrule
  2305.     (player-in-game any-ally)
  2306.     (can-research ri-banking)
  2307. =>
  2308.     (research ri-banking)
  2309. )
  2310.  
  2311. ;monk upgrades
  2312. (defrule
  2313.     (can-research ri-faith)
  2314.     (or
  2315.         (cc-players-unit-type-count any-enemy monk > five-percent-pop)
  2316.         (cc-players-unit-type-count any-enemy monk > 5)
  2317.     )
  2318. =>
  2319.     (research ri-faith)
  2320. )
  2321.  
  2322. (defrule
  2323.     (difficulty <= moderate)
  2324.     (can-research ri-atonement)
  2325.     (or
  2326.         (cc-players-unit-type-count any-enemy monk > five-percent-pop)
  2327.         (cc-players-unit-type-count any-enemy monk > 5)
  2328.     )
  2329. =>
  2330.     (research ri-atonement)
  2331. )
  2332.  
  2333. (defrule
  2334.     (can-research ri-block-printing)
  2335.     (unit-type-count monk > five-percent-pop)
  2336. =>
  2337.     (research ri-block-printing)
  2338. )
  2339.  
  2340. (defrule
  2341.     (can-research ri-illumination)
  2342.     (unit-type-count monk > 1)
  2343. =>
  2344.     (research ri-illumination)
  2345. )
  2346.  
  2347. (defrule
  2348.     (can-research ri-fervor)
  2349.     (unit-type-count monk > 1)
  2350. =>
  2351.     (research ri-fervor)
  2352. )
  2353.  
  2354. (defrule
  2355.     (difficulty <= moderate)
  2356.     (can-research ri-redemption)
  2357.     (unit-type-count monk > five-percent-pop)
  2358. =>
  2359.     (research ri-redemption)
  2360. )
  2361.  
  2362. (defrule
  2363.     (can-research ri-sanctity)
  2364.     (unit-type-count monk > 1)
  2365. =>
  2366.     (research ri-sanctity)
  2367. )
  2368. ;***********************************
  2369. ;MARKET STUFF
  2370. ;***********************************
  2371. (defrule
  2372.     (wood-amount > 5000)
  2373.     (commodity-selling-price wood >= 20)
  2374.     (can-sell-commodity wood)
  2375. =>
  2376.     (chat-local-to-self "abuse market; sell wood")
  2377.     (sell-commodity wood)
  2378. )
  2379.  
  2380. (defrule
  2381.     (food-amount > 5000)
  2382.     (commodity-selling-price food >= 20)
  2383.     (can-sell-commodity food)
  2384. =>
  2385.     (chat-local-to-self "abuse market; sell food")
  2386.     (sell-commodity food)
  2387. )
  2388.  
  2389. (defrule
  2390.     (gold-amount < 1200)
  2391.     (wood-amount > 5000)
  2392.     (can-sell-commodity wood)
  2393. =>
  2394.     (chat-local-to-self "need gold; sell wood")
  2395.     (sell-commodity wood)
  2396. )
  2397.  
  2398. (defrule
  2399.     (gold-amount < 1200)
  2400.     (food-amount > 5000)
  2401.     (can-sell-commodity food)
  2402. =>
  2403.     (chat-local-to-self "need gold; sell food")
  2404.     (sell-commodity food)
  2405. )
  2406.  
  2407. (defrule
  2408.     (gold-amount < 1200)
  2409.     (stone-amount > 1000)
  2410.     (building-type-count-total castle >= 5)
  2411.     (can-sell-commodity stone)
  2412. =>
  2413.     (chat-local-to-self "need gold; sell stone")
  2414.     (sell-commodity stone)
  2415. )
  2416.  
  2417. (defrule
  2418.     (stone-amount < 650)
  2419.     (gold-amount > 5000)
  2420.     (building-type-count-total castle < 5)
  2421.     (can-buy-commodity stone)
  2422. =>
  2423.     (chat-local-to-self "need stone")
  2424.     (buy-commodity stone)
  2425. )
  2426.  
  2427. (defrule
  2428.     (wood-amount < 1100)
  2429.     (gold-amount > 5000)
  2430.     (can-buy-commodity wood)
  2431. =>
  2432.     (chat-local-to-self "need wood")
  2433.     (buy-commodity wood)
  2434. )
  2435.  
  2436. (defrule
  2437.     (food-amount < 1600)
  2438.     (gold-amount > 5000)
  2439.     (can-buy-commodity food)
  2440. =>
  2441.     (chat-local-to-self "need food")
  2442.     (buy-commodity food)
  2443. )
  2444.  
  2445.